package top.tangyh.lamp.care.vo.result;

import cn.hutool.core.map.MapUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import top.tangyh.basic.base.entity.Entity;
import top.tangyh.basic.interfaces.echo.EchoVO;
import java.io.Serializable;

/**
 * <p>
 * 表单查询方法返回值VO
 * 医嘱表包含用药，检验，检查
 * </p>
 *
 * @author zqb
 * @date 2024-07-15 10:48:09
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@Schema(description = "医嘱表包含用药，检验，检查")
public class BHl7YzResultVO extends Entity<Integer> implements Serializable, EchoVO {

    private static final long serialVersionUID = 1L;

    private Map<String, Object> echoMap = MapUtil.newHashMap();

    @Schema(description = "")
    private Integer id;

    /**
    * 医嘱的后台ID
    */
    @Schema(description = "医嘱的后台ID")
    private String orderId;
    /**
    * 病人姓名
    */
    @Schema(description = "病人姓名")
    private String patientName;
    /**
    * 病人唯一识别号
    */
    @Schema(description = "病人唯一识别号")
    private String patientIdent;
    /**
    * 住院号
    */
    @Schema(description = "住院号")
    private String hospitalNumber;
    /**
    * 就诊卡号
    */
    @Schema(description = "就诊卡号")
    private String jzkh;
    /**
    * 病人性别(男女)
    */
    @Schema(description = "病人性别(男女)")
    private String gender;
    /**
    * 对应医嘱类型: 长期=long、临时=short、备用=spare
    */
    @Schema(description = "对应医嘱类型: 长期=long、临时=short、备用=spare")
    private String conditionIdent;
    /**
    * 医嘱类型ident
    */
    @Schema(description = "医嘱类型ident")
    private String typeIdent;
    /**
    * 对应用药频次ident(QD,PID)
    */
    @Schema(description = "对应用药频次ident(QD,PID)")
    private String repeatIdent;
    /**
    * 一次的剂量
    */
    @Schema(description = "一次的剂量")
    private Integer amount;
    /**
    * 单位
    */
    @Schema(description = "单位")
    private String unit;
    /**
    * 对应医嘱用法ident(i.v.、鼻饲、口服、ivgtt…)
    */
    @Schema(description = "对应医嘱用法ident(i.v.、鼻饲、口服、ivgtt…)")
    private String routeIdent;
    /**
    * 用药途径名
    */
    @Schema(description = "用药途径名")
    private String routeName;
    /**
    * 对应的长嘱ID
    */
    @Schema(description = "对应的长嘱ID")
    private String longOrderId;
    /**
    * 医嘱名称
    */
    @Schema(description = "医嘱名称")
    private String orderName;
    /**
    * 主医嘱标记: 对于组合药物，标记哪个是第一条药物
    */
    @Schema(description = "主医嘱标记: 对于组合药物，标记哪个是第一条药物")
    private String masterOrderFlag;
    /**
    * 组合用药的父ID:标示这是组合用药的成分之一,如果和上面的“主医嘱标记”意思一样，则这条不需要了
    */
    @Schema(description = "组合用药的父ID:标示这是组合用药的成分之一,如果和上面的“主医嘱标记”意思一样，则这条不需要了")
    private Integer yaoGroupId;
    /**
    * 药物规格
    */
    @Schema(description = "药物规格")
    private String yaoSpec;

    /**
    * 要求（计划）执行时间
    */
    @Schema(description = "要求（计划）执行时间")
    private LocalDateTime planTime;
    /**
    * 医嘱审核者姓名
    */
    @Schema(description = "医嘱审核者姓名")
    private String reviewerName;
    /**
    * 医嘱审核者编号
    */
    @Schema(description = "医嘱审核者编号")
    private String reviewerIdent;
    /**
    * 对应医嘱状态ident(撤销、未审核、已审核、已执行、停止、取消)
    */
    @Schema(description = "对应医嘱状态ident(撤销、未审核、已审核、已执行、停止、取消)")
    private String statusIdent;
    /**
    * 下医嘱（医嘱生成）时间
    */
    @Schema(description = "下医嘱（医嘱生成）时间")
    private LocalDateTime orderTime;
    /**
    * 医嘱审核时间
    */
    @Schema(description = "医嘱审核时间")
    private LocalDateTime reviewTime;
    /**
    * 医嘱撤销时间
    */
    @Schema(description = "医嘱撤销时间")
    private LocalDateTime cancelTime;
    /**
    * 开始时间
    */
    @Schema(description = "开始时间")
    private LocalDateTime startTime;
    /**
    * 医嘱停止时间
    */
    @Schema(description = "医嘱停止时间")
    private LocalDateTime stopTime;
    /**
    * 医嘱特殊说明
    */
    @Schema(description = "医嘱特殊说明")
    private String orderNotes;
    /**
    * 精神类药物标记: 标记是否是毒麻药之类(是=1,否=0)
    */
    @Schema(description = "精神类药物标记: 标记是否是毒麻药之类(是=1,否=0)")
    private Integer jslywFlag;
    /**
    * 护士是否已经打印了医嘱单，准备执行(是=1,否=0)
    */
    @Schema(description = "护士是否已经打印了医嘱单，准备执行(是=1,否=0)")
    private Integer recordPrtFlag;
    /**
    * 是否是自费药物(是=1,否=0)
    */
    @Schema(description = "是否是自费药物(是=1,否=0)")
    private Integer paySelf;
    /**
    * 撤销时间
    */
    @Schema(description = "撤销时间")
    private LocalDateTime revokeTime;
    /**
    * 样本号
    */
    @Schema(description = "样本号")
    private String specimenNumber;
    /**
    * 样本类型
    */
    @Schema(description = "样本类型")
    private String specimenType;
    /**
    * 样本状态
    */
    @Schema(description = "样本状态")
    private String specimenStatus;
    /**
    * 采集部位
    */
    @Schema(description = "采集部位")
    private String takePart;
    /**
    * 申请单号id
    */
    @Schema(description = "申请单号id")
    private String applyId;
    /**
    * 检查部位
    */
    @Schema(description = "检查部位")
    private String checkPart;
    /**
    * 检查方式
    */
    @Schema(description = "检查方式")
    private String checkMethod;
    /**
    * 申请科室
    */
    @Schema(description = "申请科室")
    private String applyDept;
    /**
    * 执行科室
    */
    @Schema(description = "执行科室")
    private String exeDept;
    /**
    * 申请医生
    */
    @Schema(description = "申请医生")
    private String applyDoctor;
    /**
    * 医嘱结束时间
    */
    @Schema(description = "医嘱结束时间")
    private LocalDateTime endTime;
    /**
    * 是否自定义插入的数据
    */
    @Schema(description = "是否自定义插入的数据")
    private Integer isDiy;
    /**
    * 
    */
    @Schema(description = "")
    private Integer isDeleted;



}
